﻿using System;

namespace _06_AdapterPattern
{
    class Program
    {
        /// <summary>
        /// 适配器模式
        /// </summary>
        /// <param name="args"></param>
        static void Main(string[] args)
        {
            //一次性获取三种颜色
            IPictrue p = new MyPicture();
            //采用适配器模式，分别获取三种颜色
            IPictrue p1 = new PicAdapter();
            p.GetRGB();
            p1.GetRGB();
            Console.ReadKey();
        }
    }
    //获取三种颜色的接口
    interface IPictrue
    {
        void GetRGB();
    }
    //一次性获取三种颜色的实现类
    class MyPicture : IPictrue
    {
        public void GetRGB()
        {
            Console.WriteLine("RGB的值分别为:255,255,255");
        }
    }
    //新增个类，分别获取三个颜色
    class NewPicture
    {
        public void GetR()
        {
            Console.WriteLine("红色R为255");
        }
        public void GetG()
        {
            Console.WriteLine("绿色G为255");
        }
        public void GetB()
        {
            Console.WriteLine("蓝色B为255");
        }
    }
    //适配器
    class PicAdapter : NewPicture, IPictrue
    {
        public void GetRGB()
        {
            GetR();
            GetB();
            GetG();
        }
    }
}
